package com.css.dzj.dzjap.modules.jgxwother.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "JG_JGXW_OTHER_ACTION", schema = "DZJAP", catalog = "")
public class JgJgxwOtherActionEntity {
    private String actionId;
    private String superviseItemCode;
    private String recordUniqueIdentity;
    private String actionName;
    private String actionCode;
    private String checkBehaviorNumber;
    private String superviseObject;
    private String itemSource;
    private String implementInstitutio;
    private String implementInstitutioCode;
    private String entrustDept;
    private String entrustDeptCode;
    private String administrativeCp;
    private String administrativeCpNa;
    private String administrativeCpCeType;
    private String administrativeCpUiCode;
    private String addressRegistered;
    private String addressOperating;
    private String areaNumber;
    private String superviseMeasure;
    private String closingCase;
    private Date startDate;
    private Date endDate;
    private Date submittedDate;
    private String submittedPersonnel;
    private Date inputTime;
    private String actionSource;
    private String batchNumberCode;
    private String synchroType;
    private String recordSource;
    private String createUser;
    private Date createTime;
    private String updateUser;
    private Date updateTime;
    private String delFlag;

    @Id
    @Column(name = "ACTION_ID")
    @GeneratedValue(generator = "SnowflakeId")
    @GenericGenerator(name = "SnowflakeId",strategy = "com.css.dzj.dzjap.common.util.SnowflakeId")
    public String getActionId() {
        return actionId;
    }

    public void setActionId(String actionId) {
        this.actionId = actionId;
    }

    @Basic
    @Column(name = "SUPERVISE_ITEM_CODE")
    public String getSuperviseItemCode() {
        return superviseItemCode;
    }

    public void setSuperviseItemCode(String superviseItemCode) {
        this.superviseItemCode = superviseItemCode;
    }

    @Basic
    @Column(name = "RECORD_UNIQUE_IDENTITY")
    public String getRecordUniqueIdentity() {
        return recordUniqueIdentity;
    }

    public void setRecordUniqueIdentity(String recordUniqueIdentity) {
        this.recordUniqueIdentity = recordUniqueIdentity;
    }

    @Basic
    @Column(name = "ACTION_NAME")
    public String getActionName() {
        return actionName;
    }

    public void setActionName(String actionName) {
        this.actionName = actionName;
    }

    @Basic
    @Column(name = "ACTION_CODE")
    public String getActionCode() {
        return actionCode;
    }

    public void setActionCode(String actionCode) {
        this.actionCode = actionCode;
    }

    @Basic
    @Column(name = "CHECK_BEHAVIOR_NUMBER")
    public String getCheckBehaviorNumber() {
        return checkBehaviorNumber;
    }

    public void setCheckBehaviorNumber(String checkBehaviorNumber) {
        this.checkBehaviorNumber = checkBehaviorNumber;
    }

    @Basic
    @Column(name = "SUPERVISE_OBJECT")
    public String getSuperviseObject() {
        return superviseObject;
    }

    public void setSuperviseObject(String superviseObject) {
        this.superviseObject = superviseObject;
    }

    @Basic
    @Column(name = "ITEM_SOURCE")
    public String getItemSource() {
        return itemSource;
    }

    public void setItemSource(String itemSource) {
        this.itemSource = itemSource;
    }

    @Basic
    @Column(name = "IMPLEMENT_INSTITUTIO")
    public String getImplementInstitutio() {
        return implementInstitutio;
    }

    public void setImplementInstitutio(String implementInstitutio) {
        this.implementInstitutio = implementInstitutio;
    }

    @Basic
    @Column(name = "IMPLEMENT_INSTITUTIO_CODE")
    public String getImplementInstitutioCode() {
        return implementInstitutioCode;
    }

    public void setImplementInstitutioCode(String implementInstitutioCode) {
        this.implementInstitutioCode = implementInstitutioCode;
    }

    @Basic
    @Column(name = "ENTRUST_DEPT")
    public String getEntrustDept() {
        return entrustDept;
    }

    public void setEntrustDept(String entrustDept) {
        this.entrustDept = entrustDept;
    }

    @Basic
    @Column(name = "ENTRUST_DEPT_CODE")
    public String getEntrustDeptCode() {
        return entrustDeptCode;
    }

    public void setEntrustDeptCode(String entrustDeptCode) {
        this.entrustDeptCode = entrustDeptCode;
    }

    @Basic
    @Column(name = "ADMINISTRATIVE_CP")
    public String getAdministrativeCp() {
        return administrativeCp;
    }

    public void setAdministrativeCp(String administrativeCp) {
        this.administrativeCp = administrativeCp;
    }

    @Basic
    @Column(name = "ADMINISTRATIVE_CP_NA")
    public String getAdministrativeCpNa() {
        return administrativeCpNa;
    }

    public void setAdministrativeCpNa(String administrativeCpNa) {
        this.administrativeCpNa = administrativeCpNa;
    }

    @Basic
    @Column(name = "ADMINISTRATIVE_CP_CE_TYPE")
    public String getAdministrativeCpCeType() {
        return administrativeCpCeType;
    }

    public void setAdministrativeCpCeType(String administrativeCpCeType) {
        this.administrativeCpCeType = administrativeCpCeType;
    }

    @Basic
    @Column(name = "ADMINISTRATIVE_CP_UI_CODE")
    public String getAdministrativeCpUiCode() {
        return administrativeCpUiCode;
    }

    public void setAdministrativeCpUiCode(String administrativeCpUiCode) {
        this.administrativeCpUiCode = administrativeCpUiCode;
    }

    @Basic
    @Column(name = "ADDRESS_REGISTERED")
    public String getAddressRegistered() {
        return addressRegistered;
    }

    public void setAddressRegistered(String addressRegistered) {
        this.addressRegistered = addressRegistered;
    }

    @Basic
    @Column(name = "ADDRESS_OPERATING")
    public String getAddressOperating() {
        return addressOperating;
    }

    public void setAddressOperating(String addressOperating) {
        this.addressOperating = addressOperating;
    }

    @Basic
    @Column(name = "AREA_NUMBER")
    public String getAreaNumber() {
        return areaNumber;
    }

    public void setAreaNumber(String areaNumber) {
        this.areaNumber = areaNumber;
    }

    @Basic
    @Column(name = "SUPERVISE_MEASURE")
    public String getSuperviseMeasure() {
        return superviseMeasure;
    }

    public void setSuperviseMeasure(String superviseMeasure) {
        this.superviseMeasure = superviseMeasure;
    }

    @Basic
    @Column(name = "CLOSING_CASE")
    public String getClosingCase() {
        return closingCase;
    }

    public void setClosingCase(String closingCase) {
        this.closingCase = closingCase;
    }

    @Basic
    @Column(name = "START_DATE")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    @Basic
    @Column(name = "END_DATE")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    @Basic
    @Column(name = "SUBMITTED_DATE")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getSubmittedDate() {
        return submittedDate;
    }

    public void setSubmittedDate(Date submittedDate) {
        this.submittedDate = submittedDate;
    }

    @Basic
    @Column(name = "SUBMITTED_PERSONNEL")
    public String getSubmittedPersonnel() {
        return submittedPersonnel;
    }

    public void setSubmittedPersonnel(String submittedPersonnel) {
        this.submittedPersonnel = submittedPersonnel;
    }

    @Basic
    @Column(name = "INPUT_TIME")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getInputTime() {
        return inputTime;
    }

    public void setInputTime(Date inputTime) {
        this.inputTime = inputTime;
    }

    @Basic
    @Column(name = "ACTION_SOURCE")
    public String getActionSource() {
        return actionSource;
    }

    public void setActionSource(String actionSource) {
        this.actionSource = actionSource;
    }

    @Basic
    @Column(name = "BATCH_NUMBER_CODE")
    public String getBatchNumberCode() {
        return batchNumberCode;
    }

    public void setBatchNumberCode(String batchNumberCode) {
        this.batchNumberCode = batchNumberCode;
    }

    @Basic
    @Column(name = "SYNCHRO_TYPE")
    public String getSynchroType() {
        return synchroType;
    }

    public void setSynchroType(String synchroType) {
        this.synchroType = synchroType;
    }

    @Basic
    @Column(name = "RECORD_SOURCE")
    public String getRecordSource() {
        return recordSource;
    }

    public void setRecordSource(String recordSource) {
        this.recordSource = recordSource;
    }

    @Basic
    @Column(name = "CREATE_USER")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "CREATE_TIME")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "UPDATE_USER")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "UPDATE_TIME")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "DEL_FLAG")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JgJgxwOtherActionEntity that = (JgJgxwOtherActionEntity) o;
        return Objects.equals(actionId, that.actionId) &&
                Objects.equals(superviseItemCode, that.superviseItemCode) &&
                Objects.equals(recordUniqueIdentity, that.recordUniqueIdentity) &&
                Objects.equals(actionName, that.actionName) &&
                Objects.equals(actionCode, that.actionCode) &&
                Objects.equals(checkBehaviorNumber, that.checkBehaviorNumber) &&
                Objects.equals(superviseObject, that.superviseObject) &&
                Objects.equals(itemSource, that.itemSource) &&
                Objects.equals(implementInstitutio, that.implementInstitutio) &&
                Objects.equals(implementInstitutioCode, that.implementInstitutioCode) &&
                Objects.equals(entrustDept, that.entrustDept) &&
                Objects.equals(entrustDeptCode, that.entrustDeptCode) &&
                Objects.equals(administrativeCp, that.administrativeCp) &&
                Objects.equals(administrativeCpNa, that.administrativeCpNa) &&
                Objects.equals(administrativeCpCeType, that.administrativeCpCeType) &&
                Objects.equals(administrativeCpUiCode, that.administrativeCpUiCode) &&
                Objects.equals(addressRegistered, that.addressRegistered) &&
                Objects.equals(addressOperating, that.addressOperating) &&
                Objects.equals(areaNumber, that.areaNumber) &&
                Objects.equals(superviseMeasure, that.superviseMeasure) &&
                Objects.equals(closingCase, that.closingCase) &&
                Objects.equals(startDate, that.startDate) &&
                Objects.equals(endDate, that.endDate) &&
                Objects.equals(submittedDate, that.submittedDate) &&
                Objects.equals(submittedPersonnel, that.submittedPersonnel) &&
                Objects.equals(inputTime, that.inputTime) &&
                Objects.equals(actionSource, that.actionSource) &&
                Objects.equals(batchNumberCode, that.batchNumberCode) &&
                Objects.equals(synchroType, that.synchroType) &&
                Objects.equals(recordSource, that.recordSource) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(delFlag, that.delFlag);
    }

    @Override
    public int hashCode() {
        return Objects.hash(actionId, superviseItemCode, recordUniqueIdentity, actionName, actionCode, checkBehaviorNumber, superviseObject, itemSource, implementInstitutio, implementInstitutioCode, entrustDept, entrustDeptCode, administrativeCp, administrativeCpNa, administrativeCpCeType, administrativeCpUiCode, addressRegistered, addressOperating, areaNumber, superviseMeasure, closingCase, startDate, endDate, submittedDate, submittedPersonnel, inputTime, actionSource, batchNumberCode, synchroType, recordSource, createUser, createTime, updateUser, updateTime, delFlag);
    }
}
